﻿using SheepStorage.Domain.DTO.Output;
using SheepStorage.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SheepStorage.Service.Interface
{
    /// <summary>
    /// 栋舍管理服务接口
    /// </summary>
    public interface IBuildingManagementService
    {
        /// <summary>
        /// 栋舍添加
        /// </summary>
        /// <param name="department"></param>
        /// <returns></returns>
        Task<int> AddBuildingManagement(BuildingManagement buildingManagement);

        /// <summary>
        /// 栋舍显示
        /// </summary>
        /// <returns></returns>
        Task<PageOutput<BuildingManagement>> GetBuildingManagement(string? BuildingName, int pageIndex, int pageSize);

        /// <summary>
        /// 栋舍删除
        /// </summary>
        /// <param name="departmentId"></param>
        /// <returns></returns>
        int DelBuildingManagement(int buildingManagementId);

        /// <summary>
        /// 栋舍反填
        /// </summary>
        /// <param name="buildingManagementId"></param>
        /// <returns></returns>
        BuildingManagement GetFtBuildingManagement(int buildingManagementId);

        /// <summary>
        /// 修改栋舍
        /// </summary>
        /// <param name="buildingManagement"></param>
        /// <returns></returns>
        Task<int> UpdaBuildingManagement(BuildingManagement buildingManagement);

        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="EnterpriseIds"></param>
        /// <returns></returns>
        int DelRangeBuildingManagement(List<int> buildingManagementIds);
    }
}
